package cn.jiyun.service.impl;

import cn.jiyun.entity.XmAuditcouriers;
import cn.jiyun.entity.XmCouriers;
import cn.jiyun.mapper.XmAuditcouriersMapper;
import cn.jiyun.mapper.XmCouriersMapper;
import cn.jiyun.service.IXmAuditcouriersService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author author
 * @since 2024-11-28
 */
@Service
public class XmAuditcouriersServiceImpl extends ServiceImpl<XmAuditcouriersMapper, XmAuditcouriers> implements IXmAuditcouriersService {


    @Override
    public Page<XmAuditcouriers> findAll(Integer current, Integer pageSize, XmAuditcouriers xmAuditcouriers) {
        Page<XmAuditcouriers> xmAuditcouriersPage = new Page<>();
        QueryWrapper<XmAuditcouriers> xmAuditcouriersQueryWrapper = new QueryWrapper<>();
        if(xmAuditcouriers.getId()!=null){
            xmAuditcouriersQueryWrapper.eq("id",xmAuditcouriers.getId());
        }
        if(xmAuditcouriers.getName()!=null&&!"".equals(xmAuditcouriers.getName())){
            xmAuditcouriersQueryWrapper.like("name",xmAuditcouriers.getName());
        }
        if(xmAuditcouriers.getTel()!=null&&!"".equals(xmAuditcouriers.getTel())){
            xmAuditcouriersQueryWrapper.like("tel",xmAuditcouriers.getTel());
        }
        if(xmAuditcouriers.getAddress()!=null && !"".equals(xmAuditcouriers.getAddress())){
            xmAuditcouriersQueryWrapper.like("address",xmAuditcouriers.getAddress());
        }
        return baseMapper.selectPage(xmAuditcouriersPage,xmAuditcouriersQueryWrapper);
    }

    @Autowired
    private XmCouriersMapper xmCouriersMapper;

    @Override
    public void updateStatus(XmAuditcouriers xmAuditcouriers) {
        xmAuditcouriers.setShTime(LocalDateTime.now());
        baseMapper.updateById(xmAuditcouriers);
        if(xmAuditcouriers.getStatus()==3){
            baseMapper.updateById(xmAuditcouriers);
        }else if(xmAuditcouriers.getStatus()==2){

            XmCouriers xmCouriers = new XmCouriers();
            xmCouriers.setDid(xmAuditcouriers.getDid());
            xmCouriers.setType(xmAuditcouriers.getGzType());
            xmCouriers.setName(xmAuditcouriers.getName());
            xmCouriers.setTel(xmAuditcouriers.getTel());
            xmCouriers.setAddress(xmAuditcouriers.getAddress());
            xmCouriers.setEnrollTime(LocalDateTime.now());
            xmCouriersMapper.insert(xmCouriers);
        }
    }
}
